﻿using System;
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FazaDemo.PL.Mapping
{
    [ContractClassFor(typeof(ILowToTopMapper<,>))]
    abstract class LowToTopMapperContract<TFrom, TTo> : ILowToTopMapper<TFrom, TTo>
    {

        public TTo MapFrom(TFrom from)
        {
            Contract.Requires(from != null);
            Contract.Ensures(Contract.Result<TTo>() != null);
            return default(TTo);
        }

    }
}
